﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Runtime.Serialization;

using Ivy.Common.Framework.Base;

namespace Hsmp.SocietyAdmin.Entity
{
    [Serializable]
    [DataContract]
   public class Flat : DataEntityBase
   {
       #region  Variable & constant
       Int32 lFlatKey = -1;
       Int32 lFlatSocietyKey = -1;
       string lFlatBlockName = string.Empty;
       string lFlatNumber = string.Empty;
       string lFlatFloorNumber = string.Empty;
       string lFlatType = string.Empty;
       Int32 lFlatNumberOfBedrooms = -1;
       Int32 lFlatNumberOfKitchen = -1;
       Int32 lFlatNumberOfToilets = -1;
       Int32 lFlatNumberOfLivingroom = -1;
       Int32 lFlatNumberOfStudyroom = -1;
       Int32 lFlatNumberOfBalcony = -1;
       Int32 lFlatTotalArea = -1;
       Int32 lFlatNumberOfWaterInlet = -1;
       Int32 lFlatOccupancy = -1;
       #endregion  Variable & constant

       #region Constructor & Destructor
        public Flat()
            : base()
        {
            this.Sys_DeleteType = DeleteType.SoftDeleteOnly;
        }
       #endregion Constructor & Destructor

       #region Properties
        [DataMember]
        public Int32 FlatKey
        {
            get
            {
                return lFlatKey;
            }
            set
            {
                lFlatKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatSocietyKey
        {
            get
            {
                return lFlatSocietyKey;
            }
            set
            {
                lFlatSocietyKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string FlatBlockName
        {
            get
            {
                return lFlatBlockName;
            }
            set
            {
                lFlatBlockName = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string FlatNumber
        {
            get
            {
                return lFlatNumber;
            }
            set
            {
                lFlatNumber = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string FlatFloorNumber
        {
            get
            {
                return lFlatFloorNumber;
            }
            set
            {
                lFlatFloorNumber = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string FlatType 
        {
            get
            {
                return lFlatType;
            }
            set
            {
                lFlatType = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatNumberOfBedrooms
        {
            get
            {
                return lFlatNumberOfBedrooms;
            }
            set
            {
                lFlatNumberOfBedrooms = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatNumberOfKitchen
        {
            get
            {
                return lFlatNumberOfKitchen;
            }
            set
            {
                lFlatNumberOfKitchen = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatNumberOfToilets
        {
            get
            {
                return lFlatNumberOfToilets;
            }
            set
            {
                lFlatNumberOfToilets = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatNumberOfLivingroom
        {
            get
            {
                return lFlatNumberOfLivingroom;
            }
            set
            {
                lFlatNumberOfLivingroom = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatNumberOfStudyroom
        {
            get
            {
                return lFlatNumberOfStudyroom;
            }
            set
            {
                lFlatNumberOfStudyroom = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatNumberOfBalcony
        {
            get
            {
                return lFlatNumberOfBalcony;
            }
            set
            {
                lFlatNumberOfBalcony = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatTotalArea
        {
            get
            {
                return lFlatTotalArea;
            }
            set
            {
                lFlatTotalArea = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatNumberOfWaterInlet
        {
            get
            {
                return lFlatNumberOfWaterInlet;
            }
            set
            {
                lFlatNumberOfWaterInlet = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 FlatOccupancy
        {
            get
            {
                return lFlatOccupancy;
            }
            set
            {
                lFlatOccupancy = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        

       #endregion Properties

       #region Public Methods
       #endregion Public Methods

       #region Events
       #endregion Events

       #region Private Methods
       #endregion Private Methods


   }
}
